package com.yuelao.yuelao_backend.service;

import org.springframework.web.multipart.MultipartFile;

/**
 * 文件上传服务接口
 */
public interface FileUploadService {

    /**
     * 上传文件（使用当前登录用户ID）
     * @param file 文件
     * @param fileType 文件类型 (image/voice/video)
     * @return 文件访问URL
     */
    String uploadFile(MultipartFile file, String fileType);

    /**
     * 上传文件（指定用户ID）
     * @param file 文件
     * @param fileType 文件类型 (image/voice/video)
     * @param userId 用户ID
     * @return 文件访问URL
     */
    String uploadFile(MultipartFile file, String fileType, Long userId);

    /**
     * 删除文件
     * @param fileUrl 文件URL
     * @return 是否成功
     */
    boolean deleteFile(String fileUrl);

    /**
     * 检查文件类型是否允许
     * @param file 文件
     * @param fileType 期望的文件类型
     * @return 是否允许
     */
    boolean isAllowedFileType(MultipartFile file, String fileType);
}